<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
	//显示用户列表
	public function index(){
        //查询用户信息
        //$users=DB::table('users')->get();
		//return view('admin.user.index',['users'=>$users]);

        $users = DB::table('users')->paginate(3);
        return view('admin.user.index', ['users' => $users]);
	}
	
	//添加用户界面
	public function add(){
		return view('admin.user.add');
	}

    //添加用户操作
    public function insert(Request $request){
        //验证两次密码输入是否一致
        $uname=$request->input('uname');
        $pwd=$request->input('upwd');
        $repwd=$request->input('repwd');
        if(empty($request->input('uname')) || $pwd=="" || $repwd=="" ){
            return error('/admin/user/add','信息输入不完全',3);
        }
        if($pwd != $repwd){
            return error('/admin/user/add','两次密码输入不一致',3);
        }
        //查询是否已存在用户名
        $row=DB::table('users')->where('uname','=',$uname)->first();
        //根据结果判断用户名是否已存在
        if($row){
            return error('/admin/user/add','用户名已存在',3);
        }else{
            //获取插入信息
            $user=$request->only(['uname','upwd','uemail']);
            //密码加密
            $user['upwd']=md5($user['upwd']);
            //将用户插入数据库
            $result=DB::table('users')->insert($user);
            //判断用户是否插入成功
            if($result){
                return success('/admin/user/index','插入用户成功',3);
            }else{
                return error('/admin/user/add','插入用户失败',3);
            }
        }
    }

    //删除用户操作
    public function delete(Request $request){
        //接收用户id
        $uid=$request->input('uid');
        //删除操作
        $result=DB::table('users')->where('uid','=',$uid)->delete();

        if($result){
            echo 1;
        }else{
            echo 0;
        }
    }

    //更改用户方法
    public function modify(Request $request){
        //获取用户id
        $uid=$request->input('uid');
        //查询用户信息
        $user=DB::table('users')->where('uid','=',$uid)->first();

        //json编码后返回
        return response()->json($user);
    }

    //更改用户操作
    public function update(Request $request){
        //检测是否需要更改密码
        if(!empty($request->input('upwd'))){
            $user=$request->only('uname','upwd','uemail');
            //md5加密
            $user['upwd']=md5($user['upwd']);
        }else{
            //只修改用户名和邮箱
            $user = $request->only('uname','uemail');
        }

        $uid=$request->input('uid');
        $result=DB::table('users')->where('uid','=',$uid)->update($user);

        if($result){
            return success('/admin/user/index','更新用户信息成功',1);
        }else if($result==0){
            return success('/admin/user/index','你啥都不改,是来逗我的吗?',3);
        }else{
            return error('/admin/user/index','更新用户信息失败',3);
        }
    }

    //查找用户界面
    public function find(){
        return view('admin.user.find');
    }

    //查找用户操作
    public function search(Request $request){
        $keywords=$request->input('key');
        $users=DB::table('users')
                        ->where('uid','=',$keywords)
                        ->orwhere('uname','like','%'.$keywords.'%')
                        ->orwhere('uemail','like','%'.$keywords.'%')
                        ->paginate(3);
        return view('admin.user.index', ['users' => $users]);
    }



	
}
